The present invention relates to Mobile IP network technology. More specifically, this invention relates to mechanisms for achieving route optimization between mobile networks and a Correspondent Node using a Mobile Router as a proxy node.
Mobile IP is a protocol which allows laptop computers or other mobile computer units (referred to as “Mobile Nodes” herein) to roam between various sub-networks at various locations—while maintaining internet and/or WAN connectivity. Without Mobile IP or a related protocol, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the internet is location specific. Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer which is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the internet. This is not an acceptable state-of-affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 2002 of the Network Working Group, C. Perkins, Ed., October 1996. Mobile IP is also described in the text “Mobile IP Unplugged” by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process in a Mobile Ipv4 environment are illustrated in FIG. 1. As shown there, a Mobile IP environment 2 includes the internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and may also include a Foreign Agent 10. In the absence of a Foreign Agent, the Mobile Node 6 can obtain a topologically correct IP address (i.e., collocated IP address) and register this IP address with the Home Agent. Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer) plugged into its home network segment connects with the internet through its designated Home Agent. When the Mobile Node roams, it communicates via the internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow wide spread internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1A, Mobile Node 6 normally resides on (or is “based at”) a network segment 12 which allows its network entities to communicate over the internet 4 through Home Agent 8 (an appropriately configured router denoted R2). Note that Home Agent 8 need not directly connect to the internet. For example, as shown in FIG. 1, it may be connected through another router (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the internet.
Now, suppose that Mobile Node 6 is removed from its home base network segment 12 and roams to a remote network segment 14. Network segment 14 may include various other nodes such as a PC 16. The nodes on network segment 14 communicate with the internet through a router which doubles as Foreign Agent 10. Mobile Node 6 may identify Foreign Agent 10 through various solicitations and advertisements which form part of the Mobile IP protocol. When Mobile Node 6 engages with network segment 14, Foreign Agent 10 relays a registration request to Home Agent 8 (as indicated by the dotted line “Registration”). The Home and Foreign Agents may then negotiate the conditions of the Mobile Node's attachment to Foreign Agent 10. For example, the attachment may be limited to a period of time, such as two hours. When the negotiation is successfully completed, Home Agent 8 updates an internal “mobility binding table” which specifies the care-of address (e.g., a collocated care-of address or the Foreign Agent's IP address) in association with the identity of Mobile Node 6. Further, the Foreign Agent 10 updates an internal “visitor table” which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node's home base IP address (associated with segment 12) has been shifted to the Foreign Agent's IP address (associated with segment 14).
Now, suppose that Mobile Node 6 wishes to send a message to a Correspondent Node 18 from its new location. In Mobile IPv4, a message from the Mobile Node is then packetized and forwarded through Foreign Agent 10 over the internet 4 and to Correspondent Node 18 (as indicated by the dotted line “packet from MN”) according to a standard internet protocol. If Correspondent Node 18 wishes to send a message to Mobile Node—whether in reply to a message from the Mobile Node or for any other reason—it addresses that message to the IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the internet 4 and to router R1 and ultimately to Home Agent 8 as indicated by the dotted line (“packet to MN(1)”). From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from Correspondent Node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a “care of” address for Mobile Node 6 as shown by the dotted line (“packet to MN(2)”). The care-of address may be, for example, the IP address of Foreign Agent 10. Foreign Agent 10 then strips the encapsulation and forwards the message to Mobile Node 6 on sub-network 14. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as “tunneling.” In the absence of a Foreign Agent, packets are tunneled directly to the Mobile Node 6 collocated care-of address.
The Mobile IP protocol for Ipv6 has been described in RFC 3775, entitled “Mobility Support in Ipv6,” published in June 2004, by Johnson et al. RFC 3775 was previously published as the Internet-Draft “Mobility Support in Ipv6,” published on Jun. 30, 2003, by D. Johnson et al. RFC 3775 discloses a protocol which allows nodes to remain reachable while roaming in IPv6. Both RFC 3775 and the corresponding Internet-Draft are incorporated herein by reference for all purposes. As disclosed in “Mobility Support in IPv6,” the Home Agent generally advertises its address, which is obtained by a Mobile Node. In Mobile Ipv6, there is no Foreign Agent. However, an access router 10 is present to provide connectivity to the network. The Mobile Node then sends a Binding Update message to the Home Agent. The Home Agent then sends a Binding Acknowledgement message to the Mobile Node. The Home Agent creates a binding cache entry and a tunnel is established between the Mobile Node and the Home Agent. When a Correspondent Node sends a packet to the Mobile Node, it is forwarded to the Mobile Node by the Home Agent via the tunnel that has been established.
Since the Correspondent Node is generally unaware of movement of the Mobile Node, packets continue to be forwarded from the Correspondent Node to the Mobile Node via the Home Agent. As a result, packets are routed inefficiently. In order to optimize the route via which packets are routed from the Correspondent to the Mobile Node, it is desirable to enable the Correspondent Node to communicate directly with the Mobile Node. This is generally accomplished using a method termed “Route Optimization” as set forth in RFC 3775. First, through two sets of messages (HOT, HOTi, COT, and COTi), described in further detail below, the Mobile Node and the Correspondent Node generate a shared secret key. Second, the Mobile Node sends a Binding Update message to the Correspondent Node to enable the Correspondent Node to send packets directly to the Mobile Node.
In addition to providing connectivity to a Mobile Node, it may be desirable to provide for the mobility of one or more networks moving together, such as on an airplane or a ship. RFC 2002 section 4.5 discusses the possibility of implementing Mobile Routers.
In one approach suggested in RFC 2002 section 4.5, a Home Agent is configured to have a permanent registration for each fixed node. FIG. 1B is a diagram of a Mobile IP mobile router and associated environment in which a Home Agent is configured to have a permanent registration for each fixed node. As shown, a Mobile Router 20 may support multiple nodes 22, 24, 26 which may be fixed with respect to the Mobile Router 20. In order to receive communication from a Correspondent Node 28, messages must be routed to the appropriate fixed node 22, 24, or 26. As the RFC suggests, a Home Agent 30 may be configured to have a permanent registration for each fixed node. By way of example, the permanent registration may indicate the Mobile Router's address as the care-of address. Thus, a separate mapping table may associate the IP address of each of the fixed nodes 22, 24, and 26 with the mobile router 20. However, this is problematic since the mapping table is typically configured while the Mobile Router 20 is coupled to the Home Agent 30. In other words, the routing table is static. Suppose a person boards an airplane and wishes to connect a laptop to the airplane's “mobile network” via the Mobile Router 20. If a new node 32 is added to the Mobile Router 20 after the airplane leaves the airport, the IP address of this new node may not be added to the mapping table. As a result, communication cannot be received by this new node 32 via the Mobile Router 20. In addition, since the Mobile Router 20 may accommodate thousands of devices, or nodes, there would potentially be an enormous number of entries to store in such a mapping table for these nodes. Moreover, such a mapping table may include entries for multiple Mobile Routers. Accordingly, such a mapping table would consume a substantial amount of memory as well as be cumbersome to search.
In another approach suggested in RFC 2002, the Mobile Router 20 may advertise connectivity to the entire “mobile network.” FIG. 1C is a diagram of a Mobile IP Mobile Router and associated environment in which the Mobile Router advertises 34 connectivity to each node associated with the Mobile Router. The RFC states that this may be performed using normal IP routing protocols through a bi-directional tunnel to its Home Agent 30. However, the RFC provides no implementation details.
U.S. Pat. No. 6,636,498, entitled “Mobile IP MobileRouter,” by K. Leung, issued on Oct. 32, 2003, discloses a method of implementing a Mobile IP Mobile Router, which is incorporated herein by reference for all purposes. FIG. 2 is a diagram illustrating a Mobile IP Mobile Router and associated environment in which the Mobile Router is stationed at the Home Agent. As shown, a Mobile IPv6 environment 202 includes the interne (or a WAN) 204 over which a node such as “node 1” 217 connected to Mobile Router 206 can communicate remotely with a Correspondent Node 208 via mediation by a Home Agent 210. By way of example, the Home Agent 210 may be a network device such as a router or host having Mobile IP capabilities. The Mobile Router 206 may provide connectivity to multiple networks, many or all of which may roam with Mobile Router 206. As shown, the Mobile Router 206 provides connectivity to a first mobile network, “network 10” 216, and a second network, “network 11” 218. The “network 10” 216 and the second network, “network 11” 218, may be mobile networks.
Each network and network device is assigned a unique IP address. IP addresses typically include a network-prefix portion and a host portion. By way of example, the network-prefix of an IPv6 address may consist of the leftmost 64 bits and the host portion may consist of the rightmost 64 bits. Exemplary IP addresses are provided, as shown. In this example, the Home Agent 210 has an IP address 2001::1, the Mobile Router has an IP address 2002::1, the first network 216 has an IP address 2003::/64 and the second network has an IP address 2004::/64. A 64-bit mask may be used to specify the entire Ipv6 address (e.g., 2004::/64). Alternatively, a mask may be used to exclude the rightmost 64 bits of the network addresses that are associated with the mobile router supported networks, as shown. In this manner, the network portion of the IP addresses may be used in routing decisions to route packets to nodes 217 and 219, identified by IP addresses 2004::2/64 and 2003::2/64, respectively.
The Internet-Draft entitled “Network Mobility (NEMO) Basic Support Protocol,” by Devarapalli et al, published in June 2004, describes the Network Mobility (NEMO) Basic Support protocol that enables mobile networks to attach to different points in the Internet. The NEMO draft is incorporated herein by reference for all purposes. The protocol is an extension of Mobile IPv6 and allows for session continuity for every node in the mobile network as the network moves. It also allows every node in the mobile network to be reachable as the network moves. The Mobile Router, which connects the network to the Internet, runs the NEMO Basic Support protocol. The protocol is designed in such a way that network mobility is transparent to the nodes inside the mobile network. However, the NEMO draft does not provide a solution for route optimization in communications between a Correspondent Node and nodes attached to a Mobile Router.
As described above, when the Mobile Node is a Mobile Router, there are mobile networks attached to the Mobile Router. However, the nodes on these mobile networks need not or may not be MIPv6 enabled. In such a case, the traffic from mobile networks must be forwarded to the mobile networks via the Home Agent. Since the nodes need not or may not be MIPv6 enabled, a tunnel cannot be directly established between the Correspondent Node and the nodes on the mobile networks. Similarly, the nodes on the mobile networks are unable to send a Binding Update message to the Correspondent Node to enable the Correspondent Node to send packets directly to the Mobile Node.
In view of the above, it would be beneficial if route optimization could be achieved between mobile networks of a Mobile Router and a Correspondent Node.